package com.ctsi.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * 电信组织管理
 *
 * @author 付雪冬
 * @date 2022-03-01 17:25:49
 */
@Data
@TableName("zsj_org_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "电信组织管理对象", description = "对象")
@JsonIgnoreProperties(ignoreUnknown = true)
public class ZsjOrg extends Model implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 组织ID
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    @TableId(
            value = "org_id",
            type = IdType.ASSIGN_ID
    )
    @ApiModelProperty(value = "组织ID")
    private Long orgId;


    /**
     * 地区编码
     */
    @ApiModelProperty(value = "地区编码")
    private String areaCode;


    /**
     * 地区名称
     */
    @ApiModelProperty(value = "地区名称")
    private String areaName;


    /**
     * 组织编码
     */
    @ApiModelProperty(value = "组织编码")
    private String orgCode;


    /**
     * 组织名称
     */
    @ApiModelProperty(value = "组织名称")
    private String orgName;


    /**
     * 组织全称
     */
    @ApiModelProperty(value = "组织全称")
    private String orgFullName;


    /**
     * 上级组织ID
     */
    @ApiModelProperty(value = "上级组织ID")
    private String patryOrgId;


    /**
     * 组织所在层级
     */
    @ApiModelProperty(value = "组织所在层级")
    private Integer orgLevel;


    /**
     * 组织层级代码
     */
    @ApiModelProperty(value = "组织层级代码")
    private String orgIndexId;


    /**
     * 组织层级名称
     */
    @ApiModelProperty(value = "组织层级名称")
    private String orgIndexName;


    /**
     * 数据状态
     */
    @ApiModelProperty(value = "数据状态")
    private String statusCd;


    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDate createDate;

}
